package com.fattyCorps.common.obj.config;

import com.fattyCorps.common.enums.battle.EBehaviorType;
import com.fattyCorps.common.enums.battle.EEffectControlType;
import com.fattyCorps.common.enums.battle.ESkillTargetType;
import lombok.Data;

@Data
public class SkillBehaviorMould extends BaseCfg {
    private String name;
    private EBehaviorType type = EBehaviorType.None; // 行为类型，主要用于互斥防止循环调用
    private ESkillTargetType targetType; // 目标类型
    private Integer targetFollowBehaviorId; // 目标跟随某行为目标
    private Boolean canTargetRepeat; // 目标是否能重复
    private Integer sort;  // 优先级
    private Integer displayId;   // 行为表现display表，取行为表现表内容
    private Integer triggerConditionId; // 触发条件模板id
    private EEffectControlType effectControlType;    // 控制类型，对于行为结果如何执行的定义
    private String controlTypeParam;    // 控制类型参数
    private String effectIds;   // 行为效果，可为多个

    public String getEffectIds() {
        if (effectIds == null || effectIds.length() == 0) {
            throw new RuntimeException("id是" + id + "的行为，名：" + name + "，行为必须要有结果");
        }

        return effectIds;
    }
}
